package com.imooc.service;

import com.imooc.dataobject.ProductInfo;
import com.imooc.dto.CartDTO;
import com.imooc.dto.OrderDTO;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface ProductInfoService {
    //这里写服务层的方法，封装dao repository 层的功能。
    /**无非就是增删改查
     * 1.查找一个商品
     * 2. 查找一堆商品，分页显示
     * 3. 查找上架商品，列表
     * 4.存一个商品
     * 5. 加减库存
     */

    ProductInfo findOne(String productId);

    //注意没有参数。分页显示，重点补充*******
    Page<ProductInfo> findAll(Pageable pageable);

    //在架商品查询，不写参数
    List<ProductInfo> findUpAll();

    ProductInfo save(ProductInfo productInfo);

    // 加减库存的方法扩充
    //这里应该是增删购物车的内容--->新建一个对象。
    //前端是个items 的列表，所以应该接受列表。
    //List<CartDTO> increaseStock(CartDTO cartDTO);
    void increaseStock( List<CartDTO> cartDTOList );
    void decreaseStock( List<CartDTO> cartDTOList );

}
